#include "widget.h"

#include <QApplication>
//windowOpacity属性-设置当前窗口透明度
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}
/*
 * windowOpacity属性-设置当前窗口透明度
 * 获取当前控件的不透明数值
 * float windowOpacity();
 * 返回值：[0.0, 1.0]之间的一个浮点数。0.0：全透明 1.0：完全不透明
 *
 * 设置控件的不透明数值
 * setWindowOpacity(float);
*/

/*
 * 上述示例中，通过按钮对窗口透明度的修改操作，存在两个问题：
 * 1、窗口的透明度数值的变化，不是非常精确的按照每次增加的值来算的
 * 原因：这是因为浮点数存储的问题，浮点数的存储无法做到很精确。
 * 浮点数的存储采用IEEE 754标准，即采用二进制+科学计数法来表示浮点数
 * 将浮点数分为 符号位、有效数字位、指数部分 三部分
 * 由于float 和 double的表示有效数字部分的长度是有限的，导致某些小数，无法很精确的进行存储(二进制位数有限)
 * 所以，对于float、double这样的小数，只能存储一个近似值。这就导致透明度变化时，并非是严格按照0.1来进行透明度增加和减少的
 *
 * 2、窗口透明度的范围是[0.0, 1.0]，对于获取到当前窗口透明度的操作，要对其进行判断是否在正确的范围内
 * 采用调用接口之前、接口内部 的双重判断。来保证不会出错
 *
*/






















